home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 176-200 / scopedisk190 / fastlife / fastlife.doc < prev    next >
Text File  |  1995-03-19  |  14KB  |  430 lines

  1. ›1;33;40m
  2.                      F a s t L i f e
  3. ›0;31;40m
  4.                            by
  5. ›1;33;40m
  6.                  R o n  C h a r l t o n
  7. ›0;31;40m
  8.                       Version 1.0
  9.                        24-Feb-91
  10.  
  11.  
  12. FastLife is an Amiga implementation of Conway's Game of Life
  13.  
  14. FastLife may be freely distributed.
  15.  
  16. ›1;33;40m
  17. C r e d i t s
  18. ›0;31;40m
  19.    o  Intuition Interface and integration by Ron Charlton
  20.    o  Life Routines by Tom Rokicki and Olaf Seibert
  21.    o  Simple Requesters by Steve Tibbett
  22.    o  ARP File Requester by Charlie Heath
  23.    o  Menus generated by MenuC by Bruce Mackey
  24.  
  25. ›1;33;40m
  26. Q u i c k  S t a r t
  27. ›0;31;40m
  28. 1. Double-click on the FastLife Icon
  29. 2. Select "Project-Open" menu item
  30. 3. Type "acorn.life" (no quotes) and press return
  31. 4. Click in the center of the screen
  32. 5. Select "Control-Run" menu item
  33.  
  34. ›1;33;40m
  35. F e a t u r e s
  36. ›0;31;40m
  37.    o  Blitter used for high speed (19 generations/second maximum)
  38.    o  Automatic fallback to 680x0 mode when memory is low
  39.    o  Four screen sizes
  40.    o  Full Intuition interface
  41.    o  Runs from Workbench and CLI
  42.    o  Uses Heath File Requester (if you have arp.library)
  43.    o  153 patterns in text file format
  44.  
  45. ›1;33;40m
  46. T h e  G a m e  o f  L i f e
  47. ›0;31;40m
  48. In 1970 John Horton Conway, a mathematician at the University of
  49. Cambridge, invented the game of Life.  It was introduced by
  50. Martin Gardener in his October 1970 Scientific American column.
  51.  
  52. Conway's goal was to create a board game with simple rules that
  53. would exhibit complex behavior.  The game is played on an
  54. infinite checkerboard, or grid, of uniform color.  Each square,
  55. or cell, is either alive or dead (ON or OFF).  Time moves in
  56. increments; each increment marks the life of one generation.
  57.  
  58. Each cell's condition in the next generation (ON or OFF) is based 
  59. on the life in it and its eight neighboring cells.
  60.  
  61.      123
  62.      4*5
  63.      678
  64.  
  65. There are three rules concerning the neighbors:
  66.  
  67.      1.  If there are 2 ON neighbors the cell stays ON or OFF
  68.      2.  If there are 3 ON neighbors the cell is ON
  69.      3.  0, 1, 4, 5, 6, 7 or 8 ON neighbors the cell is OFF
  70.  
  71. The analogy to real life: too many neighbors and the cell dies
  72. from overcrowding, too few neighbors and the cell dies from
  73. loneliness.  Three cells results in trisexual mating.
  74.  
  75. The ON/OFF state is determined for all cells on the board before
  76. changing to the next generation.
  77.  
  78. Most computer versions of Life have one pixel on the screen
  79. represent on cell on the board, as does FastLife.  The screen
  80. resolution determines how many cells are available in FastLife,
  81. so the board is not truly infinite as defined by Conway.
  82.  
  83. An excellent reference for learning more about the history and
  84. philosophical implications of Life is
  85.  
  86.      The Recursive Universe by William Poundstone,
  87.      Contemporary Books, Chicago, 1985
  88.  
  89. The book consists of alternating chapters about Conway's game of
  90. Life and modern physics, and what the game of Life can reveal
  91. about the beginning of biological life and its replication.
  92.  
  93. ›1;33;40m
  94. A b o u t  F a s t L i f e
  95. ›0;31;40m
  96. The desire to combine the speed of Tom Rokicki's blitter Life
  97. routines with an Intuition interface and access to many of the
  98. classic Life patterns led to the development of FastLife.  Olaf
  99. Seibert's 32-bit fallback 680x0 mode allows the CPU to take over
  100. when there is insufficient memory to use the blitter.
  101.  
  102. The storage format for the Life patterns supplied with FastLife
  103. is a simple text file (see File Format below).  Although the
  104. current version of FastLife does not allow on-screen editing of
  105. Life patterns, you may use your favorite text editor to create
  106. text file patterns to load into FastLife.
  107.  
  108. Conway defined an infinite board for Life; FastLife limits itself 
  109. to the screen size of the Amiga (320 by 200 to 640 by 400).
  110. Patterns that spread to the edge of the screen will be "eaten"
  111. away there, so you should be sure that you select a screen size
  112. that will contain the entire pattern you want to view.  This
  113. corruption of the Life pattern at the edge of the screen is not
  114. detected by FastLife; you must observe for yourself when this
  115. happens.
  116.  
  117. FastLife ALWAYS calculates the entire screen, unlike some other
  118. implementations of Life.  Calculation speed is not dependent on
  119. how many cells are ON or OFF, but only on the screen size, and
  120. whether the blitter or 680x0 is used for calculation.
  121.  
  122. The following table shows the speed and memory requirements of
  123. FastLife:
  124.  
  125.  
  126. FastLife memory usage and speed vs. screen size and calculation
  127. mode on a stock Amiga 2000 (68000 at 7 MHz):
  128.  
  129.      screen   calc.             Memory         generations
  130.       size    mode           CHIP   TOTAL      per second
  131.      ------- -------         ----   -----      -----------
  132.      320x200 blitter          50k     95k         19.0
  133.      320x400 blitter          98k    143k          9.5
  134.      640x200 blitter          98k    143k          9.5
  135.      640x400 blitter         194k    239k          4.7
  136.  
  137.      320x200 68000            18K     63k          5.5
  138.      320x400 68000            34k     79k          2.7
  139.      640x200 68000            34k     79k          2.7
  140.      640x400 68000            66k    111k          1.3
  141.  
  142.  
  143. For a given screen size on a stock Amiga 2000 (68000 chip at 7
  144. Mhz):
  145.  
  146. blitter mode speed:          4 times 68000 mode
  147. blitter mode CHIP memory:    3 times 68000 mode
  148. blitter mode total memory:   2 times 68000 mode
  149.  
  150. ›1;33;40m
  151. S t a r t i n g  F a s t L i f e
  152. ›0;31;40m
  153. You may start FastLife from Workbench by clicking on its icon, or 
  154. from CLI by typing
  155.  
  156.      1> FastLife
  157.  
  158. or
  159.  
  160.      1> run FastLife
  161.  
  162. You may add the digit "1" to the end of the CLI command to force
  163. FastLife to use the 680x0 CPU rather than the blitter.  The 680x0 
  164. CPU may be faster on Amigas where the "x" is filled in with "2"
  165. or "3" or "4" (68020, etc.).  The command would then be
  166.  
  167.  
  168.      1> FastLife 1
  169.  
  170. or
  171.  
  172.      1> run FastLife 1
  173.  
  174. ›1;33;40m
  175. U s i n g  F a s t L i f e
  176. ›0;31;40m
  177. FastLife will open its default screen (320 by 200 pixels) which
  178. is the fastest.  FastLife will use the blitter if there is
  179. sufficient memory available, otherwise it will automatically fall 
  180. back to the 680x0 mode and inform you that it has done so
  181. (assuming you haven't requested the 680x0 mode).
  182.  
  183. If you use the menu to request a new screen size FastLife will
  184. try to give you that size, but if memory is not available it will
  185. fall back in the following order:
  186.  
  187.      1. Requested screen size with blitter mode
  188.      2. Requested screen size with 680x0 mode
  189.      3. Default screen size with blitter mode
  190.      4. Default screen size with 680x0 mode
  191.  
  192. In the worst case no screen will be provided and FastLife will
  193. exit with an error message.
  194.  
  195. If you can't get the screen size and blitter/680x0 mode you want, 
  196. try closing other screens, windows and projects/tools to free up
  197. memory.  You may even want to reboot the Amiga in case memory has 
  198. been fragmented by other programs.
  199.  
  200. You can use the Left-Amiga-N and Left-Amiga-M key combinations to 
  201. expose the FastLife screen or hide it behind the Workbench.
  202.  
  203. ›1;33;40m
  204. M e n u s  a n d  K e y b o a r d  S h o r t c u t s
  205. ›0;31;40m
  206. FastLife has the following menu selections:
  207.  
  208.  
  209. Project
  210.     New           <N>
  211.     Open          <O>
  212.     Save As
  213.     Save          <S>
  214.     Open Again
  215.     About
  216.     ScreenToBack
  217.     Generation
  218.         Show
  219.         Reset
  220.     Screen Size
  221.         w320h200
  222.         w320h400
  223.         w640h200
  224.         w640h400
  225.     Quit          <Q>
  226.  
  227. Tools
  228.     Draw
  229.     Enlarge
  230.  
  231. Control
  232.     Once         </>
  233.     Ten          <T>
  234.     Run          <R>
  235.     Pause        <P>
  236.  
  237.  
  238. "SaveAs", "Save", "Draw" and "Enlarge" are ghosted in the current
  239. version of FastLife and may not be used.
  240.  
  241. Twiddling with the menus causes FastLife to stop updating new
  242. generations because otherwise it would eat the menus when they
  243. appeared on the screen.
  244.  
  245. New - "New" clears the screen of ON cells in preparation for a
  246.     new pattern.
  247.  
  248. Open - "Open" allows you to load a new Life pattern from disk.
  249.  
  250.     IF YOU HAVE ARP:  
  251.     If you have arp.library (ARP 39+, REL1.3) in your LIBS:
  252.     directory you will get the Heath File Requester.  You will
  253.     only be shown files that end in ".life" (upper/lower case
  254.     does not matter).  Double click on a file name to load it.
  255.  
  256.     IF YOU DO NOT HAVE ARP:
  257.     If you do not have arp.library you will see a requester with
  258.     a string gadget into which you may type a file name to load.
  259.     Be sure you give a path name if the ".life" files are not in
  260.     the current directory.  Otherwise the loading will proceed as
  261.     described above.
  262.  
  263.     There are three file types:  Absolute, Relative and Pattern
  264.     (denoted in the files with "#A", "#R" or "#P").  An Absolute
  265.     file will immediately be displayed on the screen.  The other
  266.     file types will wait for you to click on the screen to
  267.     indicate where to display the pattern from the file.
  268.  
  269.     FastLife will flash the screen when the file has been
  270.     loaded, or will indicate if some of the Life pattern falls
  271.     off of the screen's edge.
  272.  
  273.     NOTE - the "*.life" files are separated into directories by
  274.     screen size.  Within the 320 by 200 directory the files are
  275.     in sub-directories solely so that floppy disk users won't
  276.     have to wait for the Heath requester to load 130 filenames
  277.     each time they want to Open a file.
  278.  
  279. Save As - Not currently implemented
  280.  
  281. Save - Not currently implemented
  282.  
  283. Open Again - You may load the previous file again by selecting
  284.     "Open Again".  If the file is Relative or Pattern you must
  285.     again click to show where to load the pattern on the screen.
  286.     (You may want to select "New" before using "Open Again".  The
  287.     file name is not lost when "New" is selected.)
  288.  
  289. About - Shows the current version number and date, along with
  290.     credits to the authors.
  291.  
  292. ScreenToBack - Sends the FastLife screen to the back (behind the
  293.     Workbench screen).
  294.  
  295. Generation - The "Show" subitem will show the current generation
  296.     number.  The "Reset" subitem will reset the generation number
  297.     to zero.
  298.  
  299. ScreenSize - Selecting a subitem under screen size will change to 
  300.     the newly selected size.  NOTE:  The current Life pattern on the
  301.     screen will be lost when a new screen size is selected.
  302.  
  303. Quit - closes FastLife
  304.  
  305. -----
  306.  
  307. Draw    - not currently implemented
  308.  
  309. Enlarge - not currently implemented
  310.  
  311. -----
  312.  
  313. Once  - causes the screen to advance one generation
  314.  
  315. Ten   - causes the screen to advance ten generations
  316.  
  317. Run   - causes the screen to update continuously
  318.  
  319. Pause - stops updating of the screen.
  320.  
  321. -----
  322.  
  323. NOTE - Twiddling the menu has the same effect as "Pause".
  324.  
  325. NOTE - Selecting "Once/Ten/Run" will appear to do nothing if
  326.     there is no Life pattern on the screen.  Open a pattern file
  327.     first.
  328.  
  329. NOTE - You may make multiple menu selections at one time, for
  330.     example:  Press and hold the right mouse button, point at
  331.     "Project-New" and click the left mouse button; point at
  332.     "Project-Open" and click the left mouse button.  Release the 
  333.     right mouse button.  This will clear the screen and bring up
  334.     "Open" in one menu action.
  335.  
  336. ›1;33;40m
  337. F i l e  F o r m a t
  338. ›0;31;40m
  339. The Life patterns supplied with FastLife are stored in files that 
  340. end in ".life" (The Heath File Requester will display only file
  341. names that end thusly). The patterns were obtained with "xlife"
  342. for X-Windows under UNIX and retain a subset of the formats used
  343. there.
  344.  
  345. You can make your own Life patterns using your favorite text
  346. editor, just be sure to follow the format described below.  Also
  347. be sure that your file name ends in ".life" so the Heath File
  348. Requester will show it.  Multitasking on the Amiga will allow you
  349. to jump back and forth between FastLife and your editor to speed
  350. your work.
  351.  
  352.  
  353. Picture file format - The "Picture" file format has a "#P" as the 
  354.     first line.  Each line that follows represents a line of cells
  355.     across the screen, with "*" being an ON cell and any other
  356.     character being an OFF cell.
  357.  
  358. Example file:
  359.  
  360. #P
  361. **.
  362. .**
  363. .*.
  364.  
  365. Absolute file format - The "Absolute" file format consists of
  366.     pairs of absolute X-Y addresses of the cells to turn ON, one
  367.     pair per line.  The file may or may not have "#A" as the
  368.     first line.
  369.  
  370. Relative file format - The first line of a "Relative" file must
  371.     contain "#R".  Each following line is interpreted as a
  372.     relative X-Y address (relative to the position on the screen
  373.     where you click) of a cell to turn ON.  The upper left of the
  374.     image will normally be placed where you click the mouse on
  375.     the screen.  Two integers may be placed on the first line
  376.     following the "#R" to offset the image.
  377.  
  378. ›1;33;40m
  379. I n t e r e s t i n g   P a t t e r n s
  380. ›0;31;40m
  381. Alu.life
  382. bunnies.life
  383. f2.life
  384. glider1_2.life
  385. glider2_2.life
  386. gliderglidergun.life
  387. oscillators.life
  388. p24.life
  389. p26.life
  390. p55.life
  391. rabbit.life
  392. randomgun.life
  393. round.life
  394. switchengine.life
  395.  
  396. ›1;33;40m
  397. I f  y o u  h a v e  t r o u b l e
  398. ›0;31;40m
  399. Close screens, windows and projects/tools (or reboot) to free
  400. CHIP and FAST memory if you can't get the screen size you want or
  401. blitter support.
  402.  
  403. Reboot to remove memory fragmentation.
  404.  
  405. Be sure you have arp.library in your LIBS: directory (it's not an
  406. absolute requirement but will make your FastLife much easier.
  407.  
  408. -----
  409.  
  410. FastLife was developed with Manx Aztec C version 5.0a and has
  411. been tested with Workbench 1.3.  Its executable size is less than  
  412. 25 kilobytes.
  413.  
  414. ›1;33;40m
  415. A u t h o r
  416. ›0;31;40m
  417.      FastLife version 1.0
  418.  
  419.              By
  420.  
  421.      Ron Charlton
  422.      9002 Balcor Circle
  423.      Knoxville, TN 37923
  424.      
  425.      (615)694-0800
  426.      PeopleLink: R*CHARLTON
  427.  
  428.  
  429.  
  430.